#pragma once

#include <AVUIObjectCollection.h>
#include <AVUIMaterial.h>

namespace AVUI {
class Material;

class MaterialCollection : public TAnimatableCollection<Material>
{
public:
    DECLARE_ELEMENT(MaterialCollection, AnimatableCollectionBase);

protected:
    virtual TRefCountedPtr<Freezable> CreateInstanceCore() AVUI_OVERRIDE { return object_allocate<MaterialCollection>().get_Ptr(); }

};

typedef TRefCountedPtr<MaterialCollection> MaterialCollectionPtr;

}; // namespace AVUI
